<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.w3.org/1999/xhtml" xmlns:shiro="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <div th:insert="common.html"></div>
</head>
<body>
<div id="toolbar">
    <input type="button" value="添加" onclick="toAddPerson()" class="btn btn-primary">
</div>
<table id="table"></table>
<script type="text/javascript">
    $('#table').bootstrapTable({
        url: '/personController/findPersonList',//访问后台获取数据的url
        toolbar: '#toolbar',//工具按钮用哪个容器
        method: 'post',
        contentType : "application/x-www-form-urlencoded",//请求参数方式
        striped: true,//是否显示行间隔色
        cache: false, //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        sortable: true, //是否启用排序
        sortOrder: "asc", //排序方式
        pagination: false,//是否显示分页（*）
        //sidePagination: "client",//分页方式：client客户端分页，server服务端分页（*）
        //pageNumber: 1,  //初始化加载第一页，默认第一页,并记录
        //pageSize: 3,  //每页的记录行数（*）
        //pageList: [3, 5, 7, 10], //可供选择的每页的行数（*）
        search: true,//是否显示表格搜索,默认false
        cardView: false,//是否显示详细视图
        detailView: false,//是否显示父子表
        showToggle: true,//是否显示详细视图和列表视图的切换按钮
        clickToSelect: true,//是否启用点击选中行
        showRefresh: true,//是否显示刷新按钮
        strictSearch: true,
        showColumns: true,//是否显示所有的列（选择显示的列）
        columns: [{
            checkbox: true,
            visible: true //是否显示复选框
        },{
            field: 'pid', //field对应的实体类的属性名
            title: '用户id',// title 对应的是表头
            sortable: true
        }, {
            field: 'pname',
            title: '用户名称',
            sortable: true
        }, {
            field: 'birth',
            title: '生日',
            sortable: true
        },{
            title: '操作',
            width: 120,
            align: 'center',
            valign: 'middle',
            formatter:function(value,row,index){
                var pid = row.pid;// js 数组的方法，将数组里面的值根据join('abc') abc进行拼接
                return [
                    '<a class="btn btn-xs blue" title="编辑" href="javascript:toUpdate('+pid+')" ><span class="glyphicon glyphicon-pencil"></span></a>',
                    '<a class="btn btn-xs red" title="删除" href="javascript:deletePerson('+pid+')"><span class="glyphicon glyphicon-remove"></a>'].join('');
            }
        },]
    });
    //刷新表格
    function getData(){
        $('#table').bootstrapTable("refresh")//refresh 刷新
    }
    //添加用户
    function toAddPerson(){
        BootstrapDialog.show({
            type : BootstrapDialog.TYPE_SUCCESS,//弹出框类型 颜色
            title : '添加用户 ',//load jquery的方法
            message : $('<div></div>').load("/personController/toAddPerson"),//$() 都是jquery对象
            // size : BootstrapDialog.SIZE_SMALL,//size为小，默认的对话框比较宽
            buttons : [ {// 设置关闭按钮
                label : '关闭',
                action : function(dialogItself) {//点击按钮方法
                    dialogItself.close();
                }
            },{
                label : '确定',
                cssClass:'btn-success',
                action : function(dialogItself) {//点击按钮方法
                    //获取所有的选中的角色
                    var roleIds = $("[name='roleIds']");
                    //定义一个数组，用来接收被选中的角色
                    var roleArr = [];
                    $(roleIds).each(function(i,e){
                        //判断当前元素是否被选中
                        if($(e).prop("checked")){
                            roleArr.push($(e).val());
                        }
                    });
                    $.ajax({
                        url:"/personController/savePerson",
                        data:{pname:$("#pname").val(),birth:$("#birth").val(),roleIds:roleArr},//参数
                        dataType:"text",
                        type:"post",
                        async:false,
                        success:function(data){
                            if(data=='true'){
                                alert("添加成功");
                                dialogItself.close();
                                getData();
                            }else{
                                alert("添加失败");
                            }
                        },
                        error:function(){
                            alert("系统错误，请联系管理员");
                        }
                    })
                }
            } ],
            // 对话框关闭时带入callback方法
        });
    }
    //修改
    function toUpdate(pid){
        BootstrapDialog.show({
            type : BootstrapDialog.TYPE_SUCCESS,//弹出框类型 颜色
            title : '修改用户 ',//load jquery的方法
            message : $('<div></div>').load("/personController/toUpdate/"+pid),//$() 都是jquery对象
            // size : BootstrapDialog.SIZE_SMALL,//size为小，默认的对话框比较宽
            buttons : [ {// 设置关闭按钮
                label : '关闭',
                action : function(dialogItself) {//点击按钮方法
                    dialogItself.close();
                }
            },{
                label : '确定',
                cssClass:'btn-success',
                action : function(dialogItself) {//点击按钮方法
                    //获取所有的选中的角色
                    var roleIds = $("[name='roleIds']");
                    //定义一个数组，用来接收被选中的角色
                    var roleArr = [];
                    $(roleIds).each(function(i,e){
                        //判断当前元素是否被选中
                        if($(e).prop("checked")){
                            roleArr.push($(e).val());
                        }
                    });
                    $.ajax({
                        url:"/personController/updatePerson",
                        data:{pid:$("#pid").val(),pname:$("#pname").val(),birth:$("#birth").val(),roleIds:roleArr},//参数
                        dataType:"text",
                        type:"post",
                        async:false,
                        success:function(data){
                            if(data=='true'){
                                alert("修改成功");
                                dialogItself.close();
                                getData();
                            }else{
                                alert("修改失败");
                            }
                        },
                        error:function(){
                            alert("系统错误，请联系管理员");
                        }
                    })
                }
            } ],
            // 对话框关闭时带入callback方法
        });
    }
    //删除用户
    function deletePerson(pid){
        if(confirm("是否确认删除")){//用户确定后执行删除操作
            $.ajax({
                url:"/personController/deletePerson/"+pid,
                data:{},//参数
                dataType:"text",
                type:"post",
                async:false,
                success:function(data){
                    if(data=='true'){
                        alert("删除成功");
                        getData();//刷新表格
                    }else{
                        alert("删除失败");
                    }
                },
                error:function(){
                    alert("系统错误，请联系管理员");
                }
            })
        }
    }
</script>
</body>
</html>